<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*
            JS数据类型：
                基本数据类型：
                String, Number,Boolean,
                Null(空值),
                Undefined(未定义),

                引用类型:
                Object

                使用基本数据类型创建的变量，都是独立的，不能成为整体

            对象：
                是一种复合的数据类型，可以保存多个不同数据类型的属性

            对象分类：
                1.内建对象
                    String ,Math ,Number, Function, Object, Boolean
                2.宿主对象
                    由JS运行环境提供的对象，主要是浏览器提供的对象，比如 DOM, BOM
                    console, document
                3.自定义对象
                    开发人员提供的对象

            创建对象
                var obj = new Object();
                添加属性：
                对象.属性名 = 属性值
        */

        var obj = new Object();
        obj.name = "huwei";
        obj.age = 13;
        console.log(obj);

        //delete 删除属性
        delete obj.name;
        console.log(obj);

        //对象的属性名，不强制要求遵循标识符规范
        var obj2 = new Object();
        obj2.var = "123";
        console.log(obj2.var);

        // obj3.123 = 1;  
        //特殊的属性名，不能采用 . 方式来操作
        var obj3 = new Object();
        obj3['123'] = "abc";
        console.log(obj3['123']); // 存取都需用 ：对象[‘属性名’]
        console.log(obj3.name);

        obj3.o = obj;
        console.log(obj3);

        // in 运算符： 检查是否含有某个属性
        console.log('o' in obj3);

        // 使用对象字面量 创建对象  {属性名：属性值，..}
        var obj4 = {
            name: 'jack',
            age: 12
        }
        
    </script>
</body>

</html>